/**
 * 无向图，可以切边再连边，目标是最后两个连通块的点数之积
 * 越大越好，问是多少。
 * 显然将N对半分，乘积最大。
 */
#include <bits/stdc++.h>
#include <bits/extc++.h>
using namespace std;

using llt = long long;
using vi = vector<int>;
using vll = vector<llt>;

int N, M;
llt proc(){
    if(1 == N) return 0;
    llt t = N / 2;
    llt x = N - t;
    return t * x;
}
void work(){
    cin >> N >> M;
    for(int u,v,i=0;i<M;++i){
        cin >> u >> v;
    }
    cout << proc() << endl;
    return;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int nofkase = 1;
    // cin >> nofkase;
    while(nofkase--) work();
    return 0;
}